\subsection{Subversion}
\subsubsection{Allgemein}
Der Name Subversion bezeichnet eine freie Software zu Versionsverwaltung. Genau genommen ist die richtige Bezeichnung für diese Software "'Apache Subversion"', da das Projekt seit Ende 2009 von der Apache Foundation als Top-Level-Apache-Projekt entwickelt und zur Verfügung gestellt wird. Ursprünglich wurde Subversion von CollabNet als Nachfolger von CVS, einem älteren Werkzeug zur Versionsverwaltung, entwickelt.

Subversion ermöglicht die Verwaltung von Dateien und Ordnern in einem zentralen Projektarchiv ("'Repository"'). Die Inhalte des Projektarchivs sind auf jedem Entwickler Computer als Kopie vorhanden und können dort verändert werden. 
Möchte ein Entwickler seine Änderungen im Repository veröffentlichen, so werden lediglich die von ihm veränderten Dateien mit den im Repository befindlichen abgeglichen und gegebenenfalls so verändert das sie mit denen des Entwicklers übereinstimmen. Wurde eine Veränderung am Repository getätigt, so wird ein interner Revisionszähler inkrementiert um den Überblick zu vereinfachen.\footcite[vgl.][]{apache}

\subsubsection{Tortoise SVN}
Tortoise SVN ist ein Client für das Versionsverwaltungssystem Subversion. Die Software steht unter der GNU General Public Licence und ist frei verfügbar und quelloffen. Der große Vorteil von Tortoise SVN aus unserer Sicht, ist die Implementierung als Shell-Erweiterung, das heißt das der Aufruf aller Funktionen über einen Rechtsklick auf den jeweiligen Ordner oder die Datei möglich ist.

Es gibt natürlich noch weitere Clients für Subversion die dies bieten, jedoch stellt Tortoise SVN auf diesem Gebiet die populärste und damit am besten unterstützte Lösung dar. Ein zusätzlicher Grund für unsere Entscheidung für Tortoise SVN zur Versionsverwaltung war, dass wir bereits im Rahmen anderer Projekte positive Erfahrungen mit der Verwendung dieses Tools gesammelt haben und so die Einarbeitungsphase minimiert werden konnte. \footcite[vgl.][]{tsvn}
\subsubsection{Alternativen}
Für die Aufgabe der Versionsverwaltung wären als Alternativen zu SVN folgende Produkte in Frage gekommen:
\begin{itemize}
\item \textbf{Microsoft Team Foundation Server}\\
Microsoft bietet mit seiner Software Team Foundation Server ein eigenständiges Tool zur Versionsverwaltung von Softwareprojekten an. 
Zusätzlich zur Versionsverwaltung bietet Team Foundation Server beispielsweise  Möglichkeiten direkt auf dem Server Builds erstellen zu lassen oder Automatisch Reports anzufertigen. Ebenfalls ein großer Vorteil dieser Lösung stellt die native Integration in Visual Studio dar. Die Software kam bei uns nicht zum Einsatz, da wir über keine Lizenz verfügten, einen Großteil der Funktionalität nicht benötigten und die Errichtung eines Funktionstüchtigen Systems inklusive aufsetzen des Servers enormen Zusatzaufwand für unser Projekt bedeutet hätte.\footcite[vgl.][]{tfs}
\item \textbf{GIT}\\
GIT ist ebenfalls ein reines Versionsverwaltungstool und ähnelt Subversion, wurde jedoch vorrangig für die Entwicklung von Unix Systemen konzipiert und wird damit auch vor allem von diesen unterstützt. 
Für Microsoft Windows steht mit TortoiseGit eine dem Verwendeten TortoiseSVN sehr ähnliche Lösung zur Verfügung. Da GIT gegenüber SVN jedoch kaum Vorteile bietet und wir mit ToroiseSVN bereits vertraut waren, kam GIT bei der Entwicklung dieses Projektes nicht zum Einsatz.\footcite[vgl.][]{git}
\end{itemize}